Apply 1–50 edits to one user’s profile in a single call.
Each operation carries an action (add, update or delete), a type (explicit_info or implicit_traits), the item data, and an optional reason.
Profile is the only memory type this endpoint edits — memory_type is pinned to “profile”; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply.
To change an episode’s narrative, summary or subject, use /api/v2/memory/update instead.
API key issued by EverOS, sent as Authorization: Bearer <api_key>.
Body
application/json
Bulk profile edit request [Cloud-only].
Carries 1–50 EditOperation items targeting a single user's profile.
memory_type is pinned to "profile"; source is server-set and
not accepted from the client.
1 to 50 edits applied in one call. "add" mints the item id and must not carry one; "update" and "delete" require an item_id whose prefix matches the item type ("ei_" for explicit_info, "it_" for implicit_traits). Each operation's outcome is reported separately, so one can be rejected while the rest apply.
Required array length: 1 - 50 elements
Add a new profile item (item_id forbidden — the server mints it).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"EverOS","colors":{"primary":"#2DABC2","light":"#FAF9F5","dark":"#FFC53D"},"logo":{"light":"https://mintcdn.com/evermind/r7FUvGqFENzWPpQK/logo/dark.png?fit=max\u0026auto=format\u0026n=r7FUvGqFENzWPpQK\u0026q=85\u0026s=3c77717d85a2e6597b61a703fa9f18dc","dark":"https://mintcdn.com/evermind/r7FUvGqFENzWPpQK/logo/light.png?fit=max\u0026auto=format\u0026n=r7FUvGqFENzWPpQK\u0026q=85\u0026s=8edcb7078f3569fbce98154987e4c825","href":"//evermind.ai"},"favicon":"https://mintcdn.com/evermind/KH16NOZG47OFzMRe/favicon.svg?fit=max\u0026auto=format\u0026n=KH16NOZG47OFzMRe\u0026q=85\u0026s=5d3fe0e14c145627d3adc793919fc891","navbar":{"links":[{"href":"mailto:contact@evermind.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://everos.evermind.ai"}},"footer":{"socials":{"x":"https://x.com/EverMindAI","github":"https://github.com/EverMind-AI/EverOS","linkedin":"https://www.linkedin.com/company/ai-evermind"}},"integrations":{"gtm":{"tagId":"GTM-WQG5VGJQ"},"posthog":{"apiKey":"phc_xzrNRpDb4XkGwtE0wb24VNJT89c47fsuEA4FibnmdnE","apiHost":"https://phc.evermind.ai"}},"banner":{"content":"EverOS API v1 retires on November 2, 2026. [See what you need to do](/api-reference/v1-sunset)","dismissible":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"evermind","hasAudioNarration":false,"actualSubdomain":"evermind","customDomains":["docs.evermind.ai"],"gitSource":{"type":"github","owner":"evermind-ai","repo":"everos-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adec8aacdbe2c2cc473aa1f","collectionId":"22f13430-6cac-44bc-889d-b59c91ab5b8d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adec8aacdbe2c2cc473aa1f"},"feedback":{"agentFeedback":true,"thumbs":true},"entitlements":{},"buildId":"6adec8aacdbe2c2cc473aa1f","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":39},{"language":"default","tag":"API Reference (Cloud v1 · legacy)","count":21},{"language":"default","tag":"Knowledge Bases","count":19},{"language":"default","tag":"API Reference (OSS v1 · legacy)","count":17},{"language":"default","tag":"Memory","count":17},{"language":"default","tag":"EverOS Cloud","count":14},{"language":"default","tag":"Core Concepts","count":10},{"language":"default","tag":"Open Source","count":10},{"language":"default","tag":"Knowledge Wiki","count":9},{"language":"default","tag":"Memories","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html:not(.dark),html:not(.dark) #body-content,html:not(.dark) #content-area,html:not(.dark) #navbar,html:not(.dark) #sidebar,html:not(.dark) #sidebar-content,html:not(.dark) #table-of-contents,html:not(.dark) aside,html:not(.dark) body,html:not(.dark) header,html:not(.dark) main,html:not(.dark) nav{background-color:#faf9f5}:not(.dark) .from-background-light{--tw-gradient-from:#FAF9F5!important}.dark .from-background-light{--tw-gradient-from:#0e0e10!important}div.mt-2.text-lg.prose{margin-top:1.5rem}"}],"page":{"pagePath":"api-reference/memory/edit-profile-items-[cloud-only]","slug":"/api-reference/memory/edit-profile-items-[cloud-only]","pageMetadata":{"title":"Edit profile items [Cloud-only]","description":"Apply 1–50 edits to one user's profile in a single call.\n\nEach operation carries an `action` (add, update or delete), a `type` (explicit_info or implicit_traits), the item `data`, and an optional `reason`.\n\nProfile is the only memory type this endpoint edits — `memory_type` is pinned to \"profile\"; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply.\n\nTo change an episode's narrative, summary or subject, use /api/v2/memory/update instead.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/edit","href":"/api-reference/memory/edit-profile-items-[cloud-only]","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Apply 1–50 edits to one user’s profile in a single call.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Each operation carries an \", _jsx(_components.code, {\n children: \"action\"\n }), \" (add, update or delete), a \", _jsx(_components.code, {\n children: \"type\"\n }), \" (explicit_info or implicit_traits), the item \", _jsx(_components.code, {\n children: \"data\"\n }), \", and an optional \", _jsx(_components.code, {\n children: \"reason\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Profile is the only memory type this endpoint edits — \", _jsx(_components.code, {\n children: \"memory_type\"\n }), \" is pinned to “profile”; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"To change an episode’s narrative, summary or subject, use /api/v2/memory/update instead.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Edit profile items [Cloud-only]","description":"Apply 1–50 edits to one user's profile in a single call.\n\nEach operation carries an `action` (add, update or delete), a `type` (explicit_info or implicit_traits), the item `data`, and an optional `reason`.\n\nProfile is the only memory type this endpoint edits — `memory_type` is pinned to \"profile\"; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply.\n\nTo change an episode's narrative, summary or subject, use /api/v2/memory/update instead.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/edit","href":"/api-reference/memory/edit-profile-items-[cloud-only]","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Memory"],"summary":"Edit profile items [Cloud-only]","operationId":"editProfile","requestBody":"058e4e76-2b8f-454c-80ab-4acd6f1d011d","responses":{"200":"223ab8db-56c2-4400-808b-e6bb9c583c90","401":"2c7c7d54-deca-47a3-ba4d-3fd81f20bc2f","403":"7264da86-04c2-4495-9da1-c209c4cd78b6","422":"0f2dab27-f049-45b6-989b-c6323e3ac69c","429":"9059139d-504a-484d-99f7-3aeb21fd6d5b","503":"056d3bc4-e036-4bf2-8f66-9a68774dc9a8"},"description":"Apply 1–50 edits to one user's profile in a single call.\n\nEach operation carries an `action` (add, update or delete), a `type` (explicit_info or implicit_traits), the item `data`, and an optional `reason`.\n\nProfile is the only memory type this endpoint edits — `memory_type` is pinned to \"profile\"; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply.\n\nTo change an episode's narrative, summary or subject, use /api/v2/memory/update instead.","method":"post","type":"path","servers":["6755bf3f-8ce6-4610-8f69-e9440a578770"],"security":["903c48f7-e2df-45e0-bf1e-f020d6c26b61"],"path":"/api/v2/memory/edit","baseUrlOptions":["https://api.evermind.ai"],"title":"Edit profile items [Cloud-only]","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"user_id":{"type":"string","maxLength":256,"minLength":1,"title":"User Id","description":"The user whose profile is being edited.","isRequired":true,"uniqueKey":"user_id","typeLabel":"string"},"operations":{"items":{"oneOf":[{"type":"object","title":"AddOperation","description":"Add a new profile item (``item_id`` forbidden — the server mints it).","required":["action","type","data"],"properties":{"action":{"type":"string","const":"add","title":"Action","description":"Always \"add\" for this variant.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.action","typeLabel":"string"},"type":{"type":"string","enum":["explicit_info","implicit_traits"],"title":"Type","description":"Which profile item this edit targets — \"explicit_info\" (a stated fact, needing `category` + `description`) or \"implicit_traits\" (an inferred trait, needing `trait` + `description`).","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"data":{"oneOf":[{"type":"object","title":"ExplicitInfoData","description":"``data`` payload for ``add explicit_info`` — ``category`` + ``description``\nrequired (non-empty); other fields (``evidence``, ``sources``, …) pass through.","required":["category","description"],"properties":{"category":{"type":"string","minLength":1,"title":"Category","description":"What kind of fact this is, e.g. \"hobby\". Required, non-empty.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.data.oneOf.0.category","typeLabel":"string"},"description":{"type":"string","maxLength":4000,"minLength":1,"title":"Description","description":"The fact itself, up to 4000 characters. Required, non-empty.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.data.oneOf.0.description","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.data.oneOf.0","typeLabel":"ExplicitInfoData · object"},{"type":"object","title":"ImplicitTraitData","description":"``data`` payload for ``add implicit_traits`` — ``trait`` + ``description``\nrequired (non-empty); other fields (``basis``, ``evidence``, ``sources``, …)\npass through.","required":["trait","description"],"properties":{"trait":{"type":"string","minLength":1,"title":"Trait","description":"The inferred trait's name. Required, non-empty.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.data.oneOf.1.trait","typeLabel":"string"},"description":{"type":"string","maxLength":4000,"minLength":1,"title":"Description","description":"What the trait means and how it shows up, up to 4000 characters.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.data.oneOf.1.description","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.data.oneOf.1","typeLabel":"ImplicitTraitData · object"}],"isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.0.data","typeLabel":"ExplicitInfoData · object | ImplicitTraitData · object"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why this edit was made, up to 256 characters. Stored with the item.","maxLength":256,"uniqueKey":"operations.items.[INDEX].oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why this edit was made, up to 256 characters. Stored with the item.","uniqueKey":"operations.items.[INDEX].oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"operations.items.[INDEX].oneOf.0.reason","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"operations.items.[INDEX].oneOf.0","typeLabel":"AddOperation · object"},{"type":"object","title":"UpdateOperation","description":"Update an existing profile item (partial ``data`` shallow-merge).","required":["action","type","item_id","data"],"properties":{"action":{"type":"string","const":"update","title":"Action","description":"Always \"update\" for this variant.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.1.action","typeLabel":"string"},"type":{"type":"string","enum":["explicit_info","implicit_traits"],"title":"Type","description":"Which profile item this edit targets — \"explicit_info\" or \"implicit_traits\". It must match the `item_id` prefix.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"item_id":{"type":"string","title":"Item Id","description":"The item to update. Its prefix must match the item type — \"ei_\" for explicit_info, \"it_\" for implicit_traits — followed by 24 hex characters.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.1.item_id","typeLabel":"string"},"data":{"oneOf":[{"type":"object","title":"ExplicitInfoPatch","description":"``data`` payload for ``update explicit_info`` — partial; at least one of\n``category`` / ``description`` (non-empty if present); others pass through.","properties":{"category":{"oneOf":[{"type":"string","title":"Category","description":"New category. At least one of `category` / `description` must be present.","minLength":1,"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.0.category.oneOf.0","typeLabel":"string"},{"type":"null","title":"Category","description":"New category. At least one of `category` / `description` must be present.","uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.0.category.oneOf.1","typeLabel":"null"}],"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.0.category","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"New text, up to 4000 characters. Fields left out keep their stored value.","maxLength":4000,"minLength":1,"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"New text, up to 4000 characters. Fields left out keep their stored value.","uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.0.description","typeLabel":"string | null"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.0","typeLabel":"ExplicitInfoPatch · object"},{"type":"object","title":"ImplicitTraitPatch","description":"``data`` payload for ``update implicit_traits`` — partial; at least one of\n``trait`` / ``description`` (non-empty if present); others pass through.","properties":{"trait":{"oneOf":[{"type":"string","title":"Trait","description":"New trait name. At least one of `trait` / `description` must be present.","minLength":1,"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.1.trait.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trait","description":"New trait name. At least one of `trait` / `description` must be present.","uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.1.trait.oneOf.1","typeLabel":"null"}],"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.1.trait","typeLabel":"string | null"},"description":{"oneOf":[{"type":"string","title":"Description","description":"New text, up to 4000 characters. Fields left out keep their stored value.","maxLength":4000,"minLength":1,"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.1.description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","description":"New text, up to 4000 characters. Fields left out keep their stored value.","uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.1.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.1.description","typeLabel":"string | null"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.1.data.oneOf.1","typeLabel":"ImplicitTraitPatch · object"}],"isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.1.data","typeLabel":"ExplicitInfoPatch · object | ImplicitTraitPatch · object"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why this edit was made, up to 256 characters.","maxLength":256,"uniqueKey":"operations.items.[INDEX].oneOf.1.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why this edit was made, up to 256 characters.","uniqueKey":"operations.items.[INDEX].oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"operations.items.[INDEX].oneOf.1.reason","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"operations.items.[INDEX].oneOf.1","typeLabel":"UpdateOperation · object"},{"type":"object","title":"DeleteOperation","description":"Delete an existing profile item by ``item_id`` (carries no ``data``).","required":["action","type","item_id"],"properties":{"action":{"type":"string","const":"delete","title":"Action","description":"Always \"delete\" for this variant.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.2.action","typeLabel":"string"},"type":{"type":"string","enum":["explicit_info","implicit_traits"],"title":"Type","description":"Which profile item this edit targets — \"explicit_info\" or \"implicit_traits\". It must match the `item_id` prefix.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"item_id":{"type":"string","title":"Item Id","description":"The item to delete. Its prefix must match the item type (\"ei_\" / \"it_\") followed by 24 hex characters.","isRequired":true,"uniqueKey":"operations.items.[INDEX].oneOf.2.item_id","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why this edit was made, up to 256 characters.","maxLength":256,"uniqueKey":"operations.items.[INDEX].oneOf.2.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why this edit was made, up to 256 characters.","uniqueKey":"operations.items.[INDEX].oneOf.2.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"operations.items.[INDEX].oneOf.2.reason","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"operations.items.[INDEX].oneOf.2","typeLabel":"DeleteOperation · object"}],"uniqueKey":"operations.items.[INDEX]","typeLabel":"AddOperation · object | UpdateOperation · object | DeleteOperation · object"},"type":"array","maxItems":50,"minItems":1,"title":"Operations","description":"1 to 50 edits applied in one call. \"add\" mints the item id and must not carry one; \"update\" and \"delete\" require an `item_id` whose prefix matches the item type (\"ei_\" for explicit_info, \"it_\" for implicit_traits). Each operation's outcome is reported separately, so one can be rejected while the rest apply.","isRequired":true,"uniqueKey":"operations","typeLabel":"(AddOperation · object | UpdateOperation · object | DeleteOperation · object)[]"},"app_id":{"type":"string","maxLength":128,"title":"App Id","default":"default","description":"Scope the profile lives in, defaulting to \"default\".","uniqueKey":"app_id","typeLabel":"string"},"project_id":{"type":"string","maxLength":128,"title":"Project Id","default":"default","description":"Second half of the scope, defaulting to \"default\".","uniqueKey":"project_id","typeLabel":"string"},"memory_type":{"type":"string","const":"profile","title":"Memory Type","default":"profile","description":"Pinned to \"profile\" — this endpoint edits nothing else.","uniqueKey":"memory_type","typeLabel":"string"}},"additionalProperties":false,"type":"object","required":["user_id","operations"],"title":"EditInput","description":"Bulk profile edit request [Cloud-only].\n\nCarries 1–50 ``EditOperation`` items targeting a single user's profile.\n``memory_type`` is pinned to ``\"profile\"``; ``source`` is server-set and\nnot accepted from the client.","example":{"user_id":"user-1","operations":[{"action":"add","type":"explicit_info","reason":"Stated in session-1","data":{"category":"hobby","description":"Enjoys hiking in the mountains"}}]},"uniqueKey":"","typeLabel":"EditInput · object"},"examples":{"Example":{"title":"Example","value":{"user_id":"user-1","operations":[{"action":"add","type":"explicit_info","reason":"Stated in session-1","data":{"category":"hobby","description":"Enjoys hiking in the mountains"}}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"223ab8db-56c2-4400-808b-e6bb9c583c90":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"request_id":{"type":"string","title":"Request Id","description":"Request trace id (peer to data)","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"data":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The user whose profile was edited.","isRequired":true,"uniqueKey":"data.user_id","typeLabel":"string"},"version":{"type":"integer","title":"Version","description":"The profile's version after this edit. It advances every time the profile changes.","isRequired":true,"uniqueKey":"data.version","typeLabel":"integer"},"applied":{"type":"integer","title":"Applied","description":"How many of the submitted operations took effect.","isRequired":true,"uniqueKey":"data.applied","typeLabel":"integer"},"results":{"items":{"properties":{"op_index":{"type":"integer","title":"Op Index","description":"Which submitted operation this is, by 0-based position in the request.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].op_index","typeLabel":"integer"},"action":{"type":"string","title":"Action","description":"The action that was attempted — \"add\", \"update\" or \"delete\".","isRequired":true,"uniqueKey":"data.results.items.[INDEX].action","typeLabel":"string"},"type":{"type":"string","title":"Type","description":"The profile item type it targeted.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].type","typeLabel":"string"},"status":{"type":"string","enum":["applied","rejected"],"title":"Status","description":"\"applied\" or \"rejected\". A rejected operation does not fail the request.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"item_id":{"oneOf":[{"type":"string","title":"Item Id","description":"The item that was updated or deleted.","uniqueKey":"data.results.items.[INDEX].item_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Item Id","description":"The item that was updated or deleted.","uniqueKey":"data.results.items.[INDEX].item_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.results.items.[INDEX].item_id","typeLabel":"string | null"},"new_item_id":{"oneOf":[{"type":"string","title":"New Item Id","description":"The id minted for an added item — this is how a caller learns it.","uniqueKey":"data.results.items.[INDEX].new_item_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"New Item Id","description":"The id minted for an added item — this is how a caller learns it.","uniqueKey":"data.results.items.[INDEX].new_item_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.results.items.[INDEX].new_item_id","typeLabel":"string | null"},"error":{"oneOf":[{"type":"string","title":"Error","description":"Why this operation was rejected, when it was.","uniqueKey":"data.results.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","title":"Error","description":"Why this operation was rejected, when it was.","uniqueKey":"data.results.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.results.items.[INDEX].error","typeLabel":"string | null"}},"type":"object","required":["op_index","action","type","status"],"title":"EditResultItem","description":"Per-operation outcome returned in ``EditData.results``.","uniqueKey":"data.results.items.[INDEX]","typeLabel":"EditResultItem · object"},"type":"array","title":"Results","description":"Per-operation outcome, in submission order — check this rather than assuming all applied.","uniqueKey":"data.results","typeLabel":"EditResultItem · object[]"},"profile":{"additionalProperties":true,"type":"object","title":"Profile","description":"The profile as it stands after the edit, so no follow-up read is needed.","uniqueKey":"data.profile","typeLabel":"Profile · object"}},"type":"object","required":["user_id","version","applied"],"title":"EditData","description":"Endpoint-defined business result","isRequired":true,"uniqueKey":"data","typeLabel":"EditData · object"}},"type":"object","required":["request_id","data"],"title":"SuccessEnvelope[EditData]","uniqueKey":"","typeLabel":"SuccessEnvelope[EditData] · object"},"examples":{"Example":{"title":"Example","value":{"request_id":"\u003cstring>","data":{"user_id":"\u003cstring>","version":123,"applied":123,"results":[{"op_index":123,"action":"\u003cstring>","type":"\u003cstring>","status":"applied","item_id":"\u003cstring>","new_item_id":"\u003cstring>","error":"\u003cstring>"}],"profile":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"2c7c7d54-deca-47a3-ba4d-3fd81f20bc2f":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"7264da86-04c2-4495-9da1-c209c4cd78b6":{"description":"Authenticated but not permitted — either rejected by the auth service, or the account's memory API version does not match the interface version implied by the path (a v1 account calling an /api/v2 route).","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"0f2dab27-f049-45b6-989b-c6323e3ac69c":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","description":"Path to the offending field, from the body root.","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","description":"What is wrong with it.","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","description":"Machine-readable validation-error kind.","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","description":"One entry per field that failed validation.","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"9059139d-504a-484d-99f7-3aeb21fd6d5b":{"description":"Rate limit or quota exceeded.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"056d3bc4-e036-4bf2-8f66-9a68774dc9a8":{"description":"The gateway could not reach the authentication service. Transient — retry with backoff.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"903c48f7-e2df-45e0-bf1e-f020d6c26b61":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key issued by EverOS, sent as `Authorization: Bearer \u003capi_key>`.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"6755bf3f-8ce6-4610-8f69-e9440a578770":{"url":"https://api.evermind.ai","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key issued by EverOS, sent as `Authorization: Bearer \u003capi_key>`.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key issued by EverOS, sent as `Authorization: Bearer \u003capi_key>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"evermind","siteName":"EverOS","title":"Edit profile items [Cloud-only] - EverOS","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T03:27:45.753Z","originalFileLocation":"api-reference/memory/edit-profile-items-[cloud-only].mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Apply 1–50 edits to one user\u0026#x27;s profile in a single call. Each operation carries an action (add, update or delete), a type (explicit_info or implicit_traits), the item data, and an optional reason. Profile is the only memory type this endpoint edits — memory_type is pinned to \u0026quot;profile\u0026quot;; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply. To change an episode\u0026#x27;s narrative, summary or subject, use /api/v2/memory/update instead.\">\u003cmeta data-mint-head name=\"application-name\" content=\"EverOS\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Edit profile items [Cloud-only] - EverOS\">\u003cmeta data-mint-head property=\"og:description\" content=\"Apply 1–50 edits to one user\u0026#x27;s profile in a single call. Each operation carries an action (add, update or delete), a type (explicit_info or implicit_traits), the item data, and an optional reason. Profile is the only memory type this endpoint edits — memory_type is pinned to \u0026quot;profile\u0026quot;; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply. To change an episode\u0026#x27;s narrative, summary or subject, use /api/v2/memory/update instead.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"EverOS\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://evermind.mintlify.app/_mintlify/api/og/v2?division=Memory\u0026amp;title=Edit+profile+items+%5BCloud-only%5D\u0026amp;description=Apply+1%E2%80%9350+edits+to+one+user%27s+profile+in+a+single+call.%0A%0AEach+operation+carries+an+%60action%60+%28add%2C+update+or+delete%29%2C+a+%60type%60+%28explicit_info+or+implicit_traits\u0026amp;theme=542fb84329606931cb1a7e2a\u0026amp;signature=e890bda32d3b4de99ac47c409b7f1edae8456bb5646e0ffae71f93962fe9616f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Edit profile items [Cloud-only] - EverOS\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Apply 1–50 edits to one user\u0026#x27;s profile in a single call. Each operation carries an action (add, update or delete), a type (explicit_info or implicit_traits), the item data, and an optional reason. Profile is the only memory type this endpoint edits — memory_type is pinned to \u0026quot;profile\u0026quot;; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply. To change an episode\u0026#x27;s narrative, summary or subject, use /api/v2/memory/update instead.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://evermind.mintlify.app/_mintlify/api/og/v2?division=Memory\u0026amp;title=Edit+profile+items+%5BCloud-only%5D\u0026amp;description=Apply+1%E2%80%9350+edits+to+one+user%27s+profile+in+a+single+call.%0A%0AEach+operation+carries+an+%60action%60+%28add%2C+update+or+delete%29%2C+a+%60type%60+%28explicit_info+or+implicit_traits\u0026amp;theme=542fb84329606931cb1a7e2a\u0026amp;signature=e890bda32d3b4de99ac47c409b7f1edae8456bb5646e0ffae71f93962fe9616f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"EverOS\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2DABC2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/memory/edit-profile-items-%5Bcloud-only%5D.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.evermind.ai/#organization\",\"name\":\"EverOS\",\"url\":\"https://docs.evermind.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/evermind/r7FUvGqFENzWPpQK/logo/dark.png?fit=max\u0026auto=format\u0026n=r7FUvGqFENzWPpQK\u0026q=85\u0026s=3c77717d85a2e6597b61a703fa9f18dc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.evermind.ai#website\",\"name\":\"EverOS\",\"url\":\"https://docs.evermind.ai\",\"publisher\":{\"@id\":\"https://docs.evermind.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]#webpage\",\"url\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]\",\"name\":\"Edit profile items [Cloud-only]\",\"description\":\"Apply 1–50 edits to one user's profile in a single call. Each operation carries an action (add, update or delete), a type (explicit_info or implicit_traits), the item data, and an optional reason. Profile is the only memory type this endpoint edits — memory_type is pinned to \\\"profile\\\"; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply. To change an episode's narrative, summary or subject, use /api/v2/memory/update instead.\",\"dateModified\":\"2026-10-26T03:27:45.753Z\",\"isPartOf\":{\"@id\":\"https://docs.evermind.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Memory\",\"item\":\"https://docs.evermind.ai/api-reference/memory/add-messages-[oss-+-cloud]\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Edit profile items [Cloud-only]\",\"item\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]#apireference\",\"headline\":\"Edit profile items [Cloud-only]\",\"name\":\"Edit profile items [Cloud-only]\",\"description\":\"Apply 1–50 edits to one user's profile in a single call. Each operation carries an action (add, update or delete), a type (explicit_info or implicit_traits), the item data, and an optional reason. Profile is the only memory type this endpoint edits — memory_type is pinned to \\\"profile\\\"; every other type is produced by extraction. Operations are reported individually in the response, so some can be rejected while others apply. To change an episode's narrative, summary or subject, use /api/v2/memory/update instead.\",\"url\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]\",\"mainEntityOfPage\":{\"@id\":\"https://docs.evermind.ai/api-reference/memory/edit-profile-items-[cloud-only]#webpage\"},\"dateModified\":\"2026-10-26T03:27:45.753Z\",\"publisher\":{\"@id\":\"https://docs.evermind.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.evermind.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"EverOS\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"EverOS","nav":{"global":{},"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":"/introduction"}]},{"tab":"EverOS Cloud","pages":[{"title":"EverOS Cloud","href":"/cloud/overview"}]},{"tab":"Open Source","pages":[{"title":"Open Source","href":"/open-source/overview"}]},{"tab":"Cookbook","pages":[{"title":"Cookbook","href":"/cookbook/quickstart"}]},{"tab":"API Reference","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"API Overview","icon":"circle-info","href":"/api-reference/introduction"}]},{"group":"Migration","icon":"arrow-up-right-dots","pages":[{"title":"v1 API Retirement","icon":"calendar-xmark","href":"/api-reference/v1-sunset"},{"title":"Upgrade Python SDK to 1.x","icon":"arrow-up-right-dots","href":"/api-reference/sdk-migration-1x"}]},{"group":"Memory","icon":"database","pages":[{"title":"Add messages [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/add","href":"/api-reference/memory/add-messages-[oss-+-cloud]"},{"title":"Force memory extraction [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/flush","href":"/api-reference/memory/force-memory-extraction-[oss-+-cloud]"},{"title":"Get memories [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/get","href":"/api-reference/memory/get-memories-[oss-+-cloud]"},{"title":"Search memories [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/search","href":"/api-reference/memory/search-memories-[oss-+-cloud]"},{"title":"Context Retrieval [Cloud-only]","description":"Retrieve memories with a multi-round, LLM-driven search loop.\n\nAn LLM plans and runs several searches over the owner's memories (keyword, semantic, hybrid, topic cluster, and reading the surrounding conversation or a whole session), looks at what came back, and searches again with new queries until it judges the evidence sufficient to answer `query`. The episodes it found are returned. **The response contains memories, not an answer**: the model's own answer is discarded.\n\nUse it for questions a single search answers poorly: multi-hop, temporal, or spread across several conversations. For simple lookups, /api/v2/memory/search is faster and cheaper.\n\n**Request**: the same body as /api/v2/memory/search, except that `method` is fixed to \"context\" (any other value is a 422) and `min_score` is not supported (422).\n\n**Response**: the same `SearchData` shape as /api/v2/memory/search.\n- Episodes come back for a `user_id` owner only. For an `agent_id` owner, `episodes`, `agent_cases` and `agent_skills` are empty.\n- `profiles` (with `include_profile`) and `unprocessed_messages` (with a top-level `session_id` filter) are filled exactly as on search.\n- `episodes[].cited` is true for the episodes the model named as the ones its answer rested on.\n- `episodes[].score` is a rank-fusion score, roughly 0.01 to 0.05, plus 1.0 for a cited episode. It is not comparable with search scores.\n\n**Limits**: by default at most 5 LLM rounds and 45 seconds per request. Reaching a limit is not an error: the episodes found so far are returned. Set your client timeout to at least 60 seconds.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/context","href":"/api-reference/memory/context-retrieval-[cloud-only]"},{"title":"Edit profile items [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/edit","href":"/api-reference/memory/edit-profile-items-[cloud-only]"},{"title":"Edit one memory record [Cloud-only]","description":"Rewrite the editable fields of one memory. Only \"episode\" can be edited today.\n\n- `patch` uses the episode's own field names — `episode`, `summary`, `subject` — and needs at least one of them. Fields left out keep their current value.\n- A patch that changes only `episode` makes the server regenerate `summary` from the new text; `subject` is never regenerated.\n- No `app_id` / `project_id`: the record already knows its scope.\n\nThere is no version check — the last write wins. Re-sending content equal to what is stored answers 200 with `unchanged: true` and writes nothing. Changing the narrative re-indexes the memory and re-extracts its facts in the background; the response is the edited record itself, with `edited_at` and `reflect_state` set.\n\nA record that does not exist, is already deleted, or belongs to another tenant is rejected with 404.\n\nProfile items are edited through /api/v2/memory/edit, not here.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/update","href":"/api-reference/memory/edit-one-memory-record-[cloud-only]"},{"title":"Delete memories [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/delete","href":"/api-reference/memory/delete-memories-[cloud-only]"},{"title":"Soft-delete memory records by id [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/delete_by_ids","href":"/api-reference/memory/soft-delete-memory-records-by-id-[cloud-only]"},{"title":"Submit feedback about one memory [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/feedback","href":"/api-reference/memory/submit-feedback-about-one-memory-[cloud-only]"},{"group":"Tags","icon":"tags","pages":[{"title":"Bind tags to memories [Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/tag/bind","href":"/api-reference/memory/bind-tags-to-memories-[cloud]"},{"title":"Unbind tags from memories [Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/tag/unbind","href":"/api-reference/memory/unbind-tags-from-memories-[cloud]"},{"title":"Replace tags on memories [Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/tag/replace","href":"/api-reference/memory/replace-tags-on-memories-[cloud]"}]}]},{"group":"Knowledge Bases","icon":"book","pages":[{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases","href":"/api-reference/knowledge/create-a-knowledge-base"},{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases","href":"/api-reference/knowledge/list-knowledge-bases"},{"title":"Get a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}","href":"/api-reference/knowledge/get-a-knowledge-base"},{"title":"Update a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /api/v2/knowledge_bases/{kb_id}","href":"/api-reference/knowledge/update-a-knowledge-base"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v2/knowledge_bases/{kb_id}","href":"/api-reference/knowledge/delete-a-knowledge-base"},{"title":"Search a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/search","href":"/api-reference/knowledge/search-a-knowledge-base"},{"group":"Documents","icon":"file-lines","pages":[{"title":"Upload a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/documents","href":"/api-reference/knowledge/upload-a-document"},{"title":"List Documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-oss-v1.json get /api/v1/knowledge/documents","href":"/api-reference/knowledge/list-documents"},{"title":"Get a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/get-a-document"},{"title":"Replace a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/replace-a-document"},{"title":"Update a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/update-a-document"},{"title":"Delete a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/delete-a-document"}]},{"group":"Categories","icon":"folder-tree","pages":[{"title":"Create a category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/categories","href":"/api-reference/knowledge/create-a-category"},{"title":"List Categories","deprecated":null,"version":null,"openapi":"/api-reference/openapi-oss-v1.json get /api/v1/knowledge/categories","href":"/api-reference/knowledge/list-categories"},{"title":"Update a category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /api/v2/knowledge_bases/{kb_id}/categories/{category_id}","href":"/api-reference/knowledge/update-a-category"},{"title":"Delete a category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v2/knowledge_bases/{kb_id}/categories/{category_id}","href":"/api-reference/knowledge/delete-a-category"}]},{"group":"Topics","icon":"sitemap","pages":[{"title":"List a document's topics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}/topics","href":"/api-reference/knowledge/list-a-documents-topics"},{"title":"Get a topic","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}/topics/{topic_id}","href":"/api-reference/knowledge/get-a-topic"},{"title":"List topics by tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/topics","href":"/api-reference/knowledge/list-topics-by-tag"}]},{"group":"Semantic Tags","icon":"tag","pages":[{"title":"Count tag usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/tags","href":"/api-reference/knowledge/count-tag-usage"},{"title":"Replace a topic's tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}/topics/{topic_id}/tag/replace","href":"/api-reference/knowledge/replace-a-topics-tags"}]}]},{"group":"Async Tasks","icon":"list-check","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Count tasks by status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/tasks/stats","href":"/api-reference/tasks/count-tasks-by-status"},{"title":"Get a task","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/tasks/{task_id}","href":"/api-reference/tasks/get-a-task"}]},{"group":"Storage","icon":"cloud-arrow-up","pages":[{"title":"Get multimodal upload URLs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/object/sign","href":"/api-reference/storage/get-multimodal-upload-urls"}]}]},{"tab":"API Reference (Cloud v1 · legacy)","pages":[{"title":"API Reference (Cloud v1 · legacy)","href":"/api-reference/legacy-cloud-v1"}]},{"tab":"API Reference (OSS v1 · legacy)","pages":[{"title":"API Reference (OSS v1 · legacy)","href":"/api-reference/legacy-oss-v1"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/changelog/release-notes"}]}]},"title":"Edit profile items [Cloud-only] - EverOS","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-BVNUlwBc.js","dist-aeztFa9U.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-rL8ZCCw4.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","AssistantPageLink-BywkCr5C.js"]}